home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Grand Slam 3
/
Grand Slam 3.iso
/
030
/
airpt119.arj
/
AIRPT052.API
< prev
next >
Wrap
Text File
|
1995-09-26
|
6KB
|
265 lines
; Fichier include SCASM AIRPT052.API pour POLY3D TYPE = &PHARE1
; SCASM include file AIRPT052.API for POLY3D TYPE = &PHARE1
; (Manfred Moldenhauer)
;
; lighthouse type 1
; prototype Hornum/Sylt, build in 1906
;
; corrected version 27/Mar/1995
;
; by Manfred Moldenhauer CIS 100117,1465
;
; macro( mmlths1.scm lat lon mask color1 color2 roof_color )
;
; parameter numbers: 1 2 3 4 5 6
;
; typical values: 00FF 4 5 2
;
; mask is a hexadecimal bitmask for the running bit in the
; timer variable 282.
;
Area( b %1 %2 %3 )
PerspectiveCall( :A )
ShadowCall( :B )
Jump( : )
:A
Perspective
:B
Refpoint( 2 :E %4 %1 %2 v1= %10 E= %11 )
VecPoints( xy 0
-16 0 0 -11 0 11 0 0 16 11 0 11
16 0 0 11 0 -11 0 0 -16 -11 0 -11
-16 16 0 -11 16 11 0 16 16 11 16 11
16 16 0 11 16 -11 0 16 -16 -11 16 -11
-13 52 0 -9 52 9 0 52 13 9 52 9
13 52 0 9 52 -9 0 52 -13 -9 52 -9
-11 72 0 -8 72 8 0 72 11 8 72 8
11 72 0 8 72 -8 0 72 -11 -8 72 -8
-8 108 0 -6 108 6 0 108 8 6 108 6
8 108 0 6 108 -6 0 108 -8 -6 108 -6
)
Points( 40
-12 108 0 -9 108 9 0 108 12 9 108 9
12 108 0 9 108 -9 0 108 -12 -9 108 -9
)
VecPoints( xy 48
-8 108 0 -4 108 7 4 108 7 8 108 0
4 108 -7 -4 108 -7
-8 120 0 -4 120 7 4 120 7 8 120 0
4 120 -7 -4 120 -7
-8 128 0 -4 128 7 4 128 7 8 128 0
4 128 -7 -4 128 -7
0 136 0
)
Monitor3D( :nocrash -3 3 0 34 -3 3 )
SetVar( 284 14 )
:nocrash
IfVarRange( :far 37E -2000 2000 )
IfVarRange( :far 386 -2000 2000 )
; platform bottom view
SurfaceColor( 1 F0 )
Poly( ad 40 41 42 43 44 45 46 47 )
ShadedColor( %6 F0 )
ShadedPoly( a 0 1 9 8 )
ShadedPoly( a 1 2 10 9 )
ShadedPoly( a 2 3 11 10 )
ShadedPoly( a 3 4 12 11 )
ShadedPoly( a 4 5 13 12 )
ShadedPoly( a 5 6 14 13 )
ShadedPoly( a 6 7 15 14 )
ShadedPoly( a 7 0 8 15 )
ShadedColor( %7 F0 )
ShadedPoly( a 8 9 17 16 )
ShadedPoly( a 9 10 18 17 )
ShadedPoly( a 10 11 19 18 )
ShadedPoly( a 11 12 20 19 )
ShadedPoly( a 12 13 21 20 )
ShadedPoly( a 13 14 22 21 )
ShadedPoly( a 14 15 23 22 )
ShadedPoly( a 15 8 16 23 )
ShadedColor( %6 F0 )
ShadedPoly( a 16 17 25 24 )
ShadedPoly( a 17 18 26 25 )
ShadedPoly( a 18 19 27 26 )
ShadedPoly( a 19 20 28 27 )
ShadedPoly( a 20 21 29 28 )
ShadedPoly( a 21 22 30 29 )
ShadedPoly( a 22 23 31 30 )
ShadedPoly( a 23 16 24 31 )
ShadedColor( %7 F0 )
ShadedPoly( a 24 25 33 32 )
ShadedPoly( a 25 26 34 33 )
ShadedPoly( a 26 27 35 34 )
ShadedPoly( a 27 28 36 35 )
ShadedPoly( a 28 29 37 36 )
ShadedPoly( a 29 30 38 37 )
ShadedPoly( a 30 31 39 38 )
ShadedPoly( a 31 24 32 39 )
; plattform top view
SurfaceColor( 1 F0 )
Poly( a 40 41 42 43 44 45 46 47 )
; lamp housing, bottom
ShadedColor( 2 F0 )
ShadedPoly( a 48 49 55 54 )
ShadedPoly( a 49 50 56 55 )
ShadedPoly( a 50 51 57 56 )
ShadedPoly( a 51 52 58 57 )
ShadedPoly( a 52 53 59 58 )
ShadedPoly( a 53 48 54 59 )
; lamp
SurfaceColor( 13 F0 ) ; color, lamp off
;IfVarAnd( :C 28C FFFE )
IfVarAnd( :C 282 00FF )
SurfaceColor( 15 F0 ) ; color, lamp on
:C
Poly( a 54 55 61 60 )
Poly( a 55 56 62 61 )
Poly( a 56 57 63 62 )
Poly( a 57 58 64 63 )
Poly( a 58 59 65 64 )
Poly( a 59 54 60 65 )
; roof
ShadedColor( %5 F0 ) ;ShadedColor( %6 F0 )
ShadedPoly( a 66 60 61 )
ShadedPoly( a 66 61 62 )
ShadedPoly( a 66 62 63 )
ShadedPoly( a 66 63 64 )
ShadedPoly( a 66 64 65 )
ShadedPoly( a 66 65 60 )
:E
Return
:far
SurfaceColor( %6 F0 )
Brightness( 50 )
StartSurface
MoveToPt( 0 )
DrawToPt( 8 12 4 )
EndSurface
StartSurface
MoveToPt( 2 )
DrawToPt( 10 14 6 )
EndSurface
SurfaceColor( %7 F0 )
Brightness( 50 )
StartSurface
MoveToPt( 8 )
DrawToPt( 16 20 12 )
EndSurface
StartSurface
MoveToPt( 10 )
DrawToPt( 18 22 14 )
EndSurface
SurfaceColor( %6 F0 )
Brightness( 50 )
StartSurface
MoveToPt( 16 )
DrawToPt( 24 28 20 )
EndSurface
StartSurface
MoveToPt( 18 )
DrawToPt( 26 30 22 )
EndSurface
SurfaceColor( %7 F0 )
Brightness( 50 )
StartSurface
MoveToPt( 24 )
DrawToPt( 32 36 28 )
EndSurface
StartSurface
MoveToPt( 26 )
DrawToPt( 34 38 30 )
EndSurface
SurfaceColor( 2 F0 )
Brightness( 50 )
StartSurface
MoveToPt( 48 )
DrawToPt( 54 57 51 )
EndSurface
StartSurface
MoveToPt( 49 )
DrawToPt( 55 58 52 )
EndSurface
StartSurface
MoveToPt( 50 )
DrawToPt( 56 59 53 )
EndSurface
; lamp housing
;
SurfaceColor( 3 F0 )
Brightness( 50 )
SurfaceColor( 10 F0 )
IfVarAnd( :F2 282 00FF )
SurfaceColor( 15 F0 )
:F2
StartSurface
MoveToPt( 54 )
DrawToPt( 60 63 57 )
EndSurface
StartSurface
MoveToPt( 55 )
DrawToPt( 61 64 58 )
EndSurface
StartSurface
MoveToPt( 56 )
DrawToPt( 62 65 59 )
EndSurface
Return
EndA
;
; Far away view, lamp only !
;
Area( b %1 %2 80 )
IfVarAnd( : 28C FFFE )
PerspectiveCall( :lamp )
Jump( : )
:lamp
Perspective
RefPoint( 7 :l_end 1 %1 %2 ) ; corrected line 27/mar/95
IfVarRange( :far 37E -3000 3000 )
IfVarRange( :far 386 -3000 3000 )
Jump( :l_end )
:far
LineColor( 15 F0 )
IfVarAnd( :pm03 282 00FF )
LineColor( 13 F0 )
:pm03
Brightness( 100 )
Dot( 0 31 0 )
:l_end
Return
EndA